Nous arrivons à la fin de notre tour d'horizon de l'intelligence artificielle en nous concentrant maintenant sur la reconnaissance d'images. Bien que les systèmes de reconnaissance d'images soient généralement performants, ils présentent certaines limites.

Les images contiennent souvent une grande quantité d'informations. Il est donc essentiel, dans un premier temps, de déterminer la pertinence de chaque objet dans l'image. Il est également crucial de comprendre comment le système identifie le début et la fin de chaque objet. Cela aide à appréhender les défis que le système doit surmonter pour fournir des résultats précis.

De plus, comme le système ne peut pas toujours donner une réponse définitive, il propose généralement trois réponses possibles avec une probabilité associée à chacune. Cette probabilité varie de 0 à 1, où 1 indique une certitude de 100 %.

Quelle est votre première réaction en entendant parler de la reconnaissance d’images ?

C'est impressionnant, mais complexe. - Admiration pour les capacités technologiques mêlée à une reconnaissance de la complexité du domaine. Ça a un énorme potentiel ! - Enthousiasme pour les nombreuses applications possibles, de la médecine à la sécurité. Les systèmes ne sont pas encore parfaits. - Réalisme face aux défis et aux limites actuelles de la reconnaissance d'images.

VENV

Pour que cela fonctionne il va falloir créer un environnement virtuel:

Créer un environnement virtuel dans le dossier virtualenv1

\apps\python3\python.exe -m pip install virtualenv
\apps\python3\python.exe -m venv virtualenv1

Activer l'environnement pour la commande actuelle

cd virtualenv1
Scripts\activate.bat

Youpiie

À partir de là, python est "dans le path", cela veut dire que depuis cette ligne de commande, on peut simplement appeler python ainsi:

python

ZIP

Télécharger l'archive suivante

Commandes

Maintenant que nous avons couvert ces aspects, tu peux procéder à l'installation des dépendances en utilisant le fichier requirements.txt. Charge ce fichier comme d'habitude avec la commande suivante :

python -m pip install -r requirements.txt

Notre programme utilise les bibliothèques TensorFlow et Pillow. Voici comment installer ces bibliothèques :

python -m pip install tensorflow pillow

Je vais te donner un aperçu rapide du code, et je t'expliquerai plus en détail le rôle de chaque bloc plus tard. L'objectif est que tu comprennes comment le programme fonctionne sans entrer dans les moindres détails.

import tensorflow as tf
from tensorflow.keras.preprocessing import image
from tensorflow.keras.applications.resnet50 import ResNet50, preprocess_input, decode_predictions
import numpy as np

# Charger le modèle pré-entraîné ResNet50
model = ResNet50(weights='imagenet')

def classify_image(image_path):
    # Charger l'image et la redimensionner
    img = image.load_img(image_path, target_size=(224, 224))
    
    # Convertir l'image en tableau numpy
    img_array = image.img_to_array(img)
    
    # Ajouter une dimension supplémentaire pour le batch
    img_array = np.expand_dims(img_array, axis=0)
    
    # Prétraiter l'image pour le modèle
    img_array = preprocess_input(img_array)
    
    # Prédire la classe de l'image
    predictions = model.predict(img_array)
    
    # Décoder les prédictions pour obtenir les labels
    decoded_predictions = decode_predictions(predictions, top=3)[0]
    
    # Afficher les résultats
    for i, (imagenet_id, label, score) in enumerate(decoded_predictions):
        print(f"{i + 1}: {label} ({score:.2f})")

# Exemple d'utilisation
image_path = 'chemin/vers/votre/image.jpg'
classify_image(image_path)

Explication du code

Maintenant, tu peux ajouter des images dans le dossier en les nommant monImageXX.jpg. 📁📸
Après avoir ajouté tes images, teste si elles sont correctement reconnues par le modèle. 🤖🔍
Attention : Les noms des objets (animaux ou autres) seront en anglais, sauf si le dictionnaire de traduction contient la traduction. 🌍🔠

Le modèle de reconnaissance d'images a réussi à identifier et traduire les noms d'animaux 🦁 et d'objets 🚗 pour la plupart des images fournies. Bien que certaines traductions aient nécessité des ajustements manuels, le programme a montré une solide capacité à classifier divers animaux et objets grâce au modèle pré-entraîné ResNet50.

Le modèle fonctionne de manière efficace pour les images de haute qualité et pour les catégories bien représentées dans le jeu de données ImageNet. Cependant, pour des animaux plus rares ou des objets spécifiques, il pourrait être bénéfique d'améliorer le modèle ou d'utiliser un jeu de données plus spécialisé.

L'ajout d'un dictionnaire de traduction a rendu les résultats plus accessibles pour les utilisateurs francophones. Cette approche pourrait encore être perfectionnée en élargissant le dictionnaire pour inclure davantage de termes.

Nous te remercions pour ta participation et te souhaitons une excellente fin de journée.